Page({
  // 小程序页面加载（生命周期）：一个页面只调用一次
  onLoad: function(options) { /*options可获取页面路径参数*/
    console.log('onLoad 小程序页面加载')
  },
  // 小程序页面显示/切前台（生命周期）
  onShow: function() {console.log('onShow 小程序页面显示/切前台')},
  // 小程序页面初次渲染完成（生命周期）：一个页面只调用一次，表示页面已准备妥当可与视图层交互
  onReady: function() {console.log('onReady 小程序页面初次渲染完成')},
  // 小程序页面路由动画完成（生命周期）
  onRouteDone: function() {console.log('onRouteDone 小程序页面路由动画完成')},
  // 小程序页面隐藏/切后台（生命周期）
  onHide: function() {console.log('onHide 小程序页面隐藏/切后台')},
  // 小程序页面卸载（生命周期）
  onUnload: function() {console.log('onUnload 小程序页面卸载')},

  // 监听下拉刷新事件：需在app.json中开启enablePullDownRefresh。可通过wx.startPullDownRefresh触发下拉刷新、wx.stopPullDownRefresh停止下拉刷新
  onPullDownRefresh: function() {},
  // 监听上拉触底事件：需在app.json中设置触发距离onReachBottomDistance，触发距离内滑动期间此事件只触发一次
  onReachBottom: function() {},
  // 监听滚动条滚动事件：只在必要时监听此事件，避免在此事件中过于频繁的执行setData等引发逻辑层视图层通信的操作
  onPageScroll: function(object) { /*object：scrollTop页面在垂直方向已滚动距离px*/ },
  // 监听右上角收藏按钮事件：返回Object用于自定义收藏内容
  onAddToFavorites: function(object) { /*object：webViewUrl页面内包含<web-view>表示当前<web-view>的url*/
    return {
      title: '自定义标题', // 自定义标题，默认页面标题或账户名称
      imageUrl: 'http://demo.png', // 自定义图片，显示比例1:1，默认页面截图
      query: 'name=xxx&age=xxx', // 自定义query字段，默认当前页的query
    }
  },
  // 监听右上角转发按钮或页面内转发按钮<button open-type="share">事件：返回Object用于自定义转发内容。定义此事件后右上角转发按钮才出现
  onShareAppMessage: function (object) { /*object：from转发事件来源(menu右上角/button页面内)，target若from为button则为button否则undefined，webViewUrl页面内包含<web-view>表示当前<web-view>的url*/
    return {
      title: '自定义标题', // 自定义标题，默认小程序名称
      path: '/page/user?id=123', // 转发路径，默认当前页path
      imageUrl: 'http://demo.png', // 自定义图片，显示比例5:4，默认页面截图
      promise: new Promise(resolve => { // 若存在promise则以resolve为准，否则使用上面的结果，不存在默认值
        setTimeout(() => {
          resolve({
            title: '自定义转发标题'
          })
        }, 2000)
      }) 
    }
  },
  // 监听右上角分享到朋友圈事件：返回Object用于自定义分享内容。定义此事件后右上角分享按钮才出现
  onShareTimeline: function() {
    return {
      title: '自定义标题', // 自定义标题，默认小程序名称
      query: 'name=xxx&age=xxx', // 自定义query字段，默认当前页的query
      imageUrl: 'http://demo.png', // 自定义图片，显示比例1:1，默认小程序Logo
    }
  },
  // 监听页面尺寸变化事件：例如屏幕旋转时
  onResize: function(object) {},
  // 监听Tab点击事件
  onTabItemTap(object) { /*object：index被点击的Tab序号0开始，pagePath被点击的Tab页面路径，text被点击的Tab按钮文字*/ },
  // 页面销毁前保留状态回调：小程序被销毁前调用，可用于退出状态保存
  onSaveExitState: function() {},
  
  // 其他任意页面数据或函数，通过this访问
  pageData: '哈哈',
  handleClick: function() {}
})